package com.hyt.it.ogt.pj.model.vo;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

import javax.validation.constraints.NotBlank;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 试卷数据VO类
 *
 * @author huangyh
 * @since 2020-06-03
 */
@Data
@ApiModel(value = "试卷数据VO类", description = "试卷数据VO类")
public class PaperDataVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "试卷标识号，前端新建试卷时无需传值，编辑试卷时需要将被编辑试卷的试卷标识号回传给后端")
    private String paperId;

    @ApiModelProperty(value = "机构id，前端新建试卷时无需传值")
    private String officeId;

    @NotBlank(message = "试卷名称不能为空")
    @ApiModelProperty(value = "试卷名称")
    private String paperName;

    @NotBlank(message = "最大作答时长不能为空")
    @ApiModelProperty(value = "最大作答时长")
    private String answerTime;

    @NotBlank(message = "允许提前交卷时间不能为空")
    @ApiModelProperty(value = "允许提前交卷时间")
    private String handInTime;

    @ApiModelProperty(value = "主观题总分")
    private BigDecimal subjectiveItemScore;

    @ApiModelProperty(value = "客观题总分")
    private BigDecimal objectiveItemScore;

    @ApiModelProperty(value = "试卷总分")
    private BigDecimal paperScore;

    @ApiModelProperty(value = "试卷版本号，前端新建试卷时无需传值，编辑试卷时需要将被编辑试卷的试卷版本号回传给后端")
    private Integer paperVersion;

    @ApiModelProperty(value = "是否草稿，true是 false否")
    private Boolean draft;

    @ApiModelProperty(value = "试卷数据来源，0：题库；1：导入")
    private Integer paperSources;

    private String paperAuthCode;

    @ApiModelProperty(value = "试卷类型，1：普通试卷，2：性格测试卷")
    private Integer paperType;

    @ApiModelProperty(value = "试卷包id")
    private String packageId;

    @ApiModelProperty(value = "试卷包版本")
    private Integer packageVersion;

    @ApiModelProperty(value = "试卷包中的排序")
    private Integer sort;

    @ApiModelProperty(value = "科目id")
    private String subjectId;

    @ApiModelProperty(value = "科目名称")
    private String subjectName;

    @ApiModelProperty(value = "大题数据列表")
    private List<TopicDataVO> topicDataList;
}
